package io.finer.erp.jeecg.bas.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.common.util.DefaultType;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 发货单表
 * @Author: jeecg-boot
 * @Date:   2021-04-26
 * @Version: V1.0
 */
@Data
@ApiModel(value="应收账款余额列表", description="应收账款余额列表")
public class SalesDeliveryOrEntryVO extends DefaultType {
	/**主键*/
	@TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "主键")
    private String id;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**客户名称*/
	@Excel(name = "客户名称", width = 15)
    @ApiModelProperty(value = "客户名称")
    private String customerName;
	/**客户名称*/
	@Excel(name = "客户id", width = 15)
    @ApiModelProperty(value = "客户名id")
    private String customerId;
    /**类型*/
    @Excel(name = "类型", width = 15)
    @ApiModelProperty(value = "类型")
    @Dict(dicCode = "salesType")
    private Integer salesType;
    /**类型字典值*/
    private String salesType_dictText;
    /**编号*/
    @Excel(name = "编号", width = 15)
    @ApiModelProperty(value = "编号")
    private String code;
    /**日期*/
    @Excel(name = "日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "日期")
    private Date shippingDate;
    /**产品名称*/
    @Excel(name = "产品名称", width = 15)
    @ApiModelProperty(value = "产品名称")
    private java.lang.String productName;
    /**规格*/
    @Excel(name = "规格", width = 15)
    @ApiModelProperty(value = "规格")
    private java.lang.String model;
    /**单位*/
    @Excel(name = "单位", width = 15)
    @ApiModelProperty(value = "单位")
    private java.lang.String unit;
    /**副数量*/
    @Excel(name = "副数量", width = 15)
    @ApiModelProperty(value = "副数量")
    @DefaultInteger(0)
    private BigDecimal viceQty;
    /**数量*/
    @Excel(name = "数量", width = 15)
    @ApiModelProperty(value = "数量")
    @DefaultInteger(0)
    private BigDecimal qty;
    /**单价*/
    @Excel(name = "单价", width = 15)
    @ApiModelProperty(value = "单价")
    @DefaultInteger(0)
    private BigDecimal unitPrice;
    /**金额*/
    @Excel(name = "金额", width = 15)
    @ApiModelProperty(value = "金额")
    @DefaultInteger(0)
    private BigDecimal totalPrice;
    /**单据金额*/
    @Excel(name = "单据金额", width = 15)
    @ApiModelProperty(value = "单据金额")
    @DefaultInteger(0)
    private BigDecimal totalAmount;
    /**核销金额*/
    @Excel(name = "核销金额", width = 15)
    @ApiModelProperty(value = "核销金额")
    @DefaultInteger(0)
    private BigDecimal hxPrice;
    /**折扣金额*/
    @Excel(name = "折扣金额", width = 15)
    @ApiModelProperty(value = "折扣金额")
    @DefaultInteger(0)
    private BigDecimal zkPrice;
    /**欠款金额*/
    @Excel(name = "欠款金额", width = 15)
    @ApiModelProperty(value = "欠款金额")
    @DefaultInteger(0)
    private BigDecimal qkPrice;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;


    /****************************发货单筛选条件*******************************************/
    private String createTimeStart;//日期
    private String createTimeEnd;
    /**副数量*/
    private Integer viceQtyStart;
    private Integer viceQtyEnd;
    /**数量*/
    private BigDecimal qtyStart;
    private BigDecimal qtyEnd;
    /**单价*/
    private BigDecimal unitPriceStart;
    private BigDecimal unitPriceEnd;
    /**金额*/
    private BigDecimal totalPriceStart;
    private BigDecimal totalPriceEnd;
    /**单据金额*/
    private BigDecimal totalAmountStart;
    private BigDecimal totalAmountEnd;
    /**核销金额*/
    private BigDecimal hxPriceStart;
    private BigDecimal hxPriceEnd;
    /**折扣金额*/
    private BigDecimal zkPriceStart;
    private BigDecimal zkPriceEnd;
    /**折扣金额*/
    private BigDecimal qkPriceStart;
    private BigDecimal qkPriceEnd;

    //供应商
    private String supplierId;
    //客户多选
    private String customerIds;

    /**
     * 筛选类型：
           * 期初欠款：1
	*货单金额：2
	*应收余额：3
	*其他：默认发货单
     */
    private String type;

    /**************************************************************************/


}
